<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition template="/paginas/seguridad/ctndpaginasusuario.xhtml"
	xmlns="http://www.w3.org/1999/xhtml"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:p="http://primefaces.org/ui">


	<ui:define name="centrousuarios">
		<script type="text/javascript">  
    function handleLoginRequest(xhr, status, args) {  
        if(!args.loggedIn) {  
            PF('wv_mp_rusuarios').jq.effect("shake", { times:5 }, 100);  
        }   
        else {  
            PF('wv_mp_rusuarios').hide();  
            
        }  
    }  
</script>
		<h:form id="formUsuarios">
			<table class="tables">

				<tr>
					<td class="pPanel"><p:panel header="Administrar Usuarios"
							toggleable="false" collapsed="false">
							<p:growl id="growllus" showDetail="true" life="3000"
								showSummary="false" />
							<h:outputText value="Los Parámetros de Búsqueda son Incluyentes"
								styleClass="outputTextFormulario" />
							<h:panelGrid columns="3" id="hpgUsuarios"
								styleClass="panelTDLeftFormulario">

								<h:outputLabel value="Unidad :" rendered="false"></h:outputLabel>
								<h:outputLabel value="Tipo Usuario :" rendered="false"></h:outputLabel>
								<h:outputLabel value="Nombres :"></h:outputLabel>
								<h:outputLabel value="Apellidos :"></h:outputLabel>
								<h:outputLabel value="Identificación :"></h:outputLabel>
								<h:selectOneMenu styleClass="combos" id="som_opc_unidad_us"
									rendered="false"
									value="#{administrarUsuariosBean.codigoUnidad}">
									<f:selectItem itemLabel="#{comun_mensajes.valor_inicial_combo}"
										itemValue="#{comun_mensajes.inicializarASeleccione}" />
									<f:selectItems value="#{administraCatalogosBean.listaUnidad}"></f:selectItems>
								</h:selectOneMenu>
								<h:selectOneMenu styleClass="combos" id="som_opc_tipo_us"
									rendered="false"
									value="#{administrarUsuariosBean.codigoInterno}">
									<f:selectItem itemLabel="#{comun_mensajes.valor_inicial_combo}"
										itemValue="#{comun_mensajes.inicializarASeleccione}" />
									<f:selectItem itemLabel="Externo" itemValue="1" />
									<f:selectItem itemLabel="Interno" itemValue="0" />
								</h:selectOneMenu>
								<p:inputText id="txt_nombres_us"
									label="Imgrese el nombre del Usuario"
									value="#{administrarUsuariosBean.nombres}" />
								<p:inputText id="txt_apellidos_us"
									label="Imgrese el apellido del Usuario"
									value="#{administrarUsuariosBean.apellidos}" />
								<p:inputText id="txt_identificacion_us"
									label="Imgrese el número de cédula"
									value="#{administrarUsuariosBean.identificacion}" />

								<p:commandButton
									action="#{administrarUsuariosBean.consultarUsuarios}"
									value="Buscar Usuarios" update="usuarios,usuariosTable" />
								<p:commandButton
									disabled="!#{accesoSistemaBean.objetosAsignados.obj_26}"
									action="#{administrarUsuariosBean.mostrarPanelGuardarUsuario}"
									value="Agregar Usuario" immediate="true"
									oncomplete="wv_mp_rusuarios.show()"
									update=":formUsuariosCrear:pg_mp_rusuarios" />
								<p:commandButton value="Limpiar Campos"
									action="#{administrarUsuariosBean.limpiarCamposUsuario()}"
									update="hpgUsuarios" />
							</h:panelGrid>
						</p:panel></td>
				</tr>
				<tr>
					<td><p:panel id="usuarios" styleClass="panelTDLeftFormulario">


							<p:dataTable id="usuariosTable"
								value="#{administrarUsuariosBean.seadUsuarios}" var="usuario"
								paginator="true" rows="10" editable="true">
								<p:ajax event="rowEdit"
									listener="#{administrarUsuariosBean.onEditUsuario}"
									immediate="true"
									oncomplete="handleLoginRequest(xhr, status, args)"
									update=":formUsuarios:growllus" />
								<p:ajax event="rowEditCancel"
									listener="#{administrarUsuariosBean.onCancelPerfil}"
									immediate="true" />
								<p:column headerText="Trato" style="width:24%">
									<p:cellEditor>
										<f:facet name="output">
											<h:outputText value="#{usuario.usuaTrato}" />
										</f:facet>
										<f:facet name="input">
											<p:inputText value="#{usuario.usuaTrato}"
												disabled="#{usuario.usuaInterno==0}" style="width:100%" />
										</f:facet>
									</p:cellEditor>
								</p:column>
								<p:column headerText="Nombres" style="width:24%">
									<p:cellEditor>
										<f:facet name="output">
											<h:outputText value="#{usuario.usuaNombres}" />
										</f:facet>
										<f:facet name="input">
											<p:inputText value="#{usuario.usuaNombres}"
												disabled="#{usuario.usuaInterno==0}" style="width:100%" />
										</f:facet>
									</p:cellEditor>
								</p:column>
								<p:column headerText="Apellidos" style="width:24%">
									<p:cellEditor>
										<f:facet name="output">
											<h:outputText value="#{usuario.usuaApellidos}" />
										</f:facet>
										<f:facet name="input">
											<p:inputText value="#{usuario.usuaApellidos}"
												disabled="#{usuario.usuaInterno==0}" style="width:100%" />
										</f:facet>
									</p:cellEditor>
								</p:column>

								<p:column headerText="Identificación" style="width:24%">
									<p:cellEditor>
										<f:facet name="output">
											<h:outputText value="#{usuario.usuaIdentificacion}" />
										</f:facet>
										<f:facet name="input">
											<p:inputText value="#{usuario.usuaIdentificacion}"
												disabled="#{usuario.usuaInterno==0}" style="width:100%" />
										</f:facet>
									</p:cellEditor>
								</p:column>
								<p:column headerText="Cargo" style="width:24%">
									<p:cellEditor>
										<f:facet name="output">
											<h:outputText value="#{usuario.usuaCargo}" />
										</f:facet>
										<f:facet name="input">
											<p:inputText value="#{usuario.usuaCargo}"
												disabled="#{usuario.usuaInterno==0}" style="width:100%" />
										</f:facet>
									</p:cellEditor>
								</p:column>
								<p:column headerText="Dirección" style="width:24%">
									<p:cellEditor>
										<f:facet name="output">
											<h:outputText value="#{usuario.usuaDireccion}" />
										</f:facet>
										<f:facet name="input">
											<p:inputText value="#{usuario.usuaDireccion}"
												disabled="#{usuario.usuaInterno==0}" style="width:100%" />
										</f:facet>
									</p:cellEditor>
								</p:column>
								<p:column headerText="Teléfono" style="width:24%">
									<p:cellEditor>
										<f:facet name="output">
											<h:outputText value="#{usuario.usuaTelefono}" />
										</f:facet>
										<f:facet name="input">
											<p:inputText value="#{usuario.usuaTelefono}"
												disabled="#{usuario.usuaInterno==0}" style="width:100%" />
										</f:facet>
									</p:cellEditor>
								</p:column>
								<p:column headerText="Celular" style="width:24%">
									<p:cellEditor>
										<f:facet name="output">
											<h:outputText value="#{usuario.usuaCelular}" />
										</f:facet>
										<f:facet name="input">
											<p:inputText value="#{usuario.usuaCelular}"
												disabled="#{usuario.usuaInterno==0}" style="width:100%" />
										</f:facet>
									</p:cellEditor>
								</p:column>
								<p:column headerText="Email" style="width:24%">
									<p:cellEditor>
										<f:facet name="output">
											<h:outputText value="#{usuario.usuaEmail}" />
										</f:facet>
										<f:facet name="input">
											<p:inputText value="#{usuario.usuaEmail}"
												disabled="#{usuario.usuaInterno==0}" style="width:100%" />
										</f:facet>
									</p:cellEditor>
								</p:column>
								<p:column headerText="Usuario" style="width:24%">
									<p:cellEditor>
										<f:facet name="output">
											<h:outputText value="#{usuario.usuaUsuario}" />
										</f:facet>
										<f:facet name="input">
											<p:inputText value="#{usuario.usuaUsuario}"
												style="width:100%" />
										</f:facet>
									</p:cellEditor>
								</p:column>
								<p:column headerText="Contraseña" style="width:24%">
									<p:cellEditor>
										<f:facet name="output">
											<h:outputText value="#{usuario.usuaClave}" />
										</f:facet>
										<f:facet name="input">
											<p:inputText id="txt_clave" value="#{usuario.usuaClave}"
												style="width:100%" />
										</f:facet>
									</p:cellEditor>
								</p:column>
								<p:column headerText="Estado" style="width:24%">
									<p:cellEditor>
										<f:facet name="output">
											<h:outputText
												value="#{usuario.usuaEstado =='A'?'ACTIVO':'INACTIVO'}" />
										</f:facet>
										<f:facet name="input">
											<h:selectOneMenu styleClass="combos" id="som_opc_estadopsm"
												required="true" value="#{usuario.usuaEstado}">
												<f:selectItem itemLabel="Activo" itemValue="A" />
												<f:selectItem itemLabel="Inactivo" itemValue="I" />
											</h:selectOneMenu>
										</f:facet>
									</p:cellEditor>
								</p:column>
								<p:column style="width:6%">
									<f:facet name="header">
										<h:outputText value="Edición" />
									</f:facet>
									<p:rowEditor
										rendered="#{!accesoSistemaBean.objetosAsignados.obj_26}" />
								</p:column>
								<p:column style="width:6%">
									<f:facet name="header">
										<h:outputText value="Eliminar" />
									</f:facet>
									<p:commandButton update="usuariosTable" immediate="true"
										disabled="#{usuario.usuaInterno==0}"
										action="#{administrarUsuariosBean.deleteUsuariosAction(usuario)}"
										icon="ui-icon-close">
										<p:confirm header="Confirmación"
											message="Está seguro de eliminar?" icon="ui-icon-alert" />
									</p:commandButton>
									<p:confirmDialog global="true" showEffect="fade"
										hideEffect="explode">
										<p:commandButton value="Si" type="button"
											styleClass="ui-confirmdialog-yes" icon="ui-icon-check"
											update=":formUsuarios:growllus" />
										<p:commandButton value="No" type="button"
											styleClass="ui-confirmdialog-no" icon="ui-icon-close" />
									</p:confirmDialog>
								</p:column>

								<p:column style="width:6%">
									<f:facet name="header">
										<h:outputText value="Perfiles" />
									</f:facet>
									<p:commandButton immediate="true"
										update=":asignarPerfilesForm:pg_mp_usuarios,:asignarPerfilesForm:pPerfiles,:asignarPerfilesForm:perfilesTable,:asignarPerfilesForm:som_perfil"
										action="#{administrarUsuariosBean.asignarUsuarioSeleccionado}"
										oncomplete="wv_mp_usuarios.show()"
										title="Asignar Perfil al Usuario Seleccionado"
										icon="ui-icon-gear">
										<f:setPropertyActionListener value="#{usuario}"
											target="#{administrarUsuariosBean.seadUsuarioSeleccionado}" />

									</p:commandButton>
									<br />
								</p:column>
							</p:dataTable>

						</p:panel></td>
				</tr>
			</table>
		</h:form>

		<p:dialog id="mp_usuarios" position="center" width="600"
			styleClass="pPanel"
			style="text-align: left;
	font-size: 9px;
	font-family: Verdana;"
			header="Asignación de Perfiles" height="385"
			widgetVar="wv_mp_usuarios">
			<h:form id="asignarPerfilesForm">
				<h:panelGrid id="pg_mp_usuarios" columns="1" cellpadding="1"
					style="margin:0 auto;">

					<table width="550px;">
						<p:growl id="growl" showSummary="false" showDetail="true"
							sticky="true" />


						<tr>
							<td><p:panel id="pPerfiles">
									<table>
										<tr>
											<td class="panelTDLeftFormulario" colspan="2"><h:outputText
													value="Usuario Seleccionado: "
													styleClass="outputTextFormulario" /> <h:outputText
													value="#{administrarUsuariosBean.seadUsuarioSeleccionado.usuaNombres}"
													styleClass="subTituloFormulario" /> <h:outputText
													value=" " styleClass="subTituloFormulario" /> <h:outputText
													value="#{administrarUsuariosBean.seadUsuarioSeleccionado.usuaApellidos}"
													styleClass="subTituloFormulario" /></td>

										</tr>
										<tr>
											<td class="panelTDLeftFormulario" colspan="2"><h:outputText
													value="* " styleClass="asteriscoObligatorio" /> <h:outputText
													value=" El asterisco indica que el campo es requerido."
													styleClass="outputTextFormulario" /></td>

										</tr>
										<tr>


											<td class="panelTDLeftFormulario" colspan="2"><h:outputText
													value="* " styleClass="asteriscoObligatorio" /> <h:outputText
													value="Perfil:" styleClass="outputTextFormulario" /> <h:selectOneMenu
													styleClass="combos" id="som_perfil" required="true"
													title="Escoja un Perfil"
													requiredMessage="Módulo#{comun_mensajes.campo_requerido}"
													value="#{administrarUsuariosBean.idPerfil}">
													<f:selectItem
														itemLabel="#{comun_mensajes.valor_inicial_combo}"
														itemValue="#{comun_mensajes.inicializarASeleccione}" />
													<f:selectItems
														value="#{administrarUsuariosBean.listaPerfiles}"></f:selectItems>
												</h:selectOneMenu></td>
										</tr>

										<tr>

											<td class="panelTDLeftFormulario" colspan="2"><p:commandButton
													action="#{administrarUsuariosBean.guardarPerfilUsuario}"
													value="Agregar Perfil"
													title="Seleccione un Perfil para agregarlo al Usuario seleccionado"
													update=":asignarPerfilesForm:perfilesTable,:asignarPerfilesForm:pg_mp_usuarios" />
												<p:commandButton
													action="#{administrarUsuariosBean.consultarPerfilesUsuario}"
													immediate="true" value="Consultar Perfiles"
													title="Visualizar perfiles asignados"
													update=":asignarPerfilesForm:perfilesTable,:asignarPerfilesForm:pg_mp_usuarios" />
												<p:commandButton
													action="#{administrarUsuariosBean.inactivarPerfilUsuario}"
													immediate="true" value="Inactivar Perfil"
													title="Inactivar perfiles activos"
													update=":asignarPerfilesForm:perfilesTable" /></td>

										</tr>

										<tr>

											<td colspan="1" align="center">
												<table>
													<tr>
														<td class="panelTDLeftFormulario"><h:outputText
																value="Perfiles Asignados al Usuario"
																styleClass="subTituloFormulario" /></td>
													</tr>
													<tr>


														<td class="panelTDLeftFormulario"><p:dataTable
																style="width:500px;"
																emptyMessage="NO existen perfiles asignados"
																id="perfilesTable"
																value="#{administrarUsuariosBean.seadUsuariosPerfiles}"
																var="perfil" paginator="true" rows="5">

																<p:column headerText="Nombre Perfil" style="width:40%">
																	<h:outputText
																		value="#{perfil.seadPerfiles.perfDescripcion}" />

																</p:column>
																<p:column headerText="Fecha de Asignación"
																	style="width:40%">
																	<h:outputText value="#{perfil.uspeFechaAsignacion}" />

																</p:column>
																<p:column headerText="Asignado Por" style="width:40%">
																	<h:outputText value="#{perfil.uspeNomUsuAccion}" />

																</p:column>
																<p:column headerText="Estado" style="width:40%">
																	<h:outputText
																		value="#{perfil.uspeEstado=='A'?'ACTIVO':'INACTIVO'}" />

																</p:column>



															</p:dataTable></td>

													</tr>
												</table>
											</td>
										</tr>

									</table>
								</p:panel></td>
						</tr>



					</table>


				</h:panelGrid>
			</h:form>
		</p:dialog>

		<p:dialog id="mp_crear_usuario" position="center" width="370"
			style="text-align: left;
	font-size: 12px;
	font-family: Verdana;"
			header="Agregar Usuario" height="350" widgetVar="wv_mp_rusuarios">
			<h:form id="formUsuariosCrear">

				<h:panelGrid id="pg_mp_rusuarios" columns="1" cellpadding="1"
					style="margin:0 auto;">

					<table width="350px;">
						<p:growl id="growlru" showSummary="false" showDetail="true"
							sticky="false" life="2000" />


						<tr>
							<td><p:panel>
									<table>


										<tr>
											<td class="panelTDFormulario"><h:outputText value="* "
													styleClass="asteriscoObligatorio" /> <h:outputLabel
													for="it_trato" value="Trato: "
													styleClass="outputTextFormulario" /></td>
											<td class="panelTDLeftFormulario"><h:inputText
													id="it_trato" required="true"
													requiredMessage="Trato#{comun_mensajes.campo_requerido}"
													value="#{administrarUsuariosBean.seadUsuario.usuaTrato}"
													styleClass="inputTextFormulario" /></td>
										</tr>
										<tr>
											<td class="panelTDFormulario"><h:outputText value="* "
													styleClass="asteriscoObligatorio" /> <h:outputLabel
													for="it_nombre" value="Nombres: "
													styleClass="outputTextFormulario" /></td>
											<td class="panelTDLeftFormulario"><h:inputText
													id="it_nombre" required="true"
													requiredMessage="Nombre#{comun_mensajes.campo_requerido}"
													value="#{administrarUsuariosBean.seadUsuario.usuaNombres}"
													styleClass="inputTextFormulario" /></td>
										</tr>
										<tr>
											<td class="panelTDFormulario"><h:outputText value="* "
													styleClass="asteriscoObligatorio" /> <h:outputLabel
													for="it_apellidos" value="Apellidos: "
													styleClass="outputTextFormulario" /></td>
											<td class="panelTDLeftFormulario"><h:inputText
													id="it_apellidos" required="true"
													requiredMessage="Apellidos#{comun_mensajes.campo_requerido}"
													value="#{administrarUsuariosBean.seadUsuario.usuaApellidos}"
													styleClass="inputTextFormulario" /></td>
										</tr>
										<tr>
											<td class="panelTDFormulario"><h:outputText value="* "
													styleClass="asteriscoObligatorio" /> <h:outputLabel
													for="it_identificacion" value="Identificación: "
													styleClass="outputTextFormulario" /></td>
											<td class="panelTDLeftFormulario"><h:inputText
													id="it_identificacion" required="true"
													requiredMessage="Identificación#{comun_mensajes.campo_requerido}"
													value="#{administrarUsuariosBean.identificacionRegistro}"
													styleClass="inputTextFormulario" /></td>
										</tr>
										<tr>
											<td class="panelTDFormulario"><h:outputText value="* "
													styleClass="asteriscoObligatorio" /> <h:outputLabel
													for="it_cargo" value="Cargo: "
													styleClass="outputTextFormulario" /></td>
											<td class="panelTDLeftFormulario"><h:inputText
													id="it_cargo" required="true"
													requiredMessage="Cargo#{comun_mensajes.campo_requerido}"
													value="#{administrarUsuariosBean.seadUsuario.usuaCargo}"
													styleClass="inputTextFormulario" /></td>
										</tr>
										<tr>
											<td class="panelTDFormulario"><h:outputText value="* "
													styleClass="asteriscoObligatorio" /> <h:outputLabel
													for="it_direccion" value="Dirección: "
													styleClass="outputTextFormulario" /></td>
											<td class="panelTDLeftFormulario"><h:inputText
													id="it_direccion" required="true"
													requiredMessage="Dirección#{comun_mensajes.campo_requerido}"
													value="#{administrarUsuariosBean.seadUsuario.usuaDireccion}"
													styleClass="inputTextFormulario" /></td>
										</tr>
										<tr>
											<td class="panelTDFormulario"><h:outputText value="* "
													styleClass="asteriscoObligatorio" /> <h:outputLabel
													for="it_telefono" value="Teléfeno: "
													styleClass="outputTextFormulario" /></td>
											<td class="panelTDLeftFormulario"><h:inputText
													id="it_telefono" required="true"
													requiredMessage="Teléfono#{comun_mensajes.campo_requerido}"
													value="#{administrarUsuariosBean.seadUsuario.usuaTelefono}"
													styleClass="inputTextFormulario" /></td>
										</tr>
										<tr>
											<td class="panelTDFormulario"><h:outputText value="* "
													styleClass="asteriscoObligatorio" /> <h:outputLabel
													for="it_celular" value="Celular: "
													styleClass="outputTextFormulario" /></td>
											<td class="panelTDLeftFormulario"><h:inputText
													id="it_celular" required="true"
													requiredMessage="Celular#{comun_mensajes.campo_requerido}"
													value="#{administrarUsuariosBean.seadUsuario.usuaCelular}"
													styleClass="inputTextFormulario" /></td>
										</tr>
										<tr>
											<td class="panelTDFormulario"><h:outputText value="* "
													styleClass="asteriscoObligatorio" /> <h:outputLabel
													for="it_email" value="Email: "
													styleClass="outputTextFormulario" /></td>
											<td class="panelTDLeftFormulario"><h:inputText
													id="it_email" required="true"
													requiredMessage="Email#{comun_mensajes.campo_requerido}"
													value="#{administrarUsuariosBean.mail}"
													styleClass="inputTextFormulario"
													title="El email debe contener un formato valido, por ejemplo, text@hotmail.com" /></td>
										</tr>
										<tr>
											<td class="panelTDFormulario"><h:outputText value="* "
													styleClass="asteriscoObligatorio" /> <h:outputLabel
													for="it_usuario" value="Usuario: "
													styleClass="outputTextFormulario" /></td>
											<td class="panelTDLeftFormulario"><h:inputText
													id="it_usuario" required="true"
													requiredMessage="Usuario#{comun_mensajes.campo_requerido}"
													value="#{administrarUsuariosBean.seadUsuario.usuaUsuario}"
													styleClass="inputTextFormulario" /></td>
										</tr>
										<tr>
											<td class="panelTDFormulario"><h:outputText value="* "
													styleClass="asteriscoObligatorio" /> <h:outputLabel
													for="it_contrasenia" value="Contraseña: "
													styleClass="outputTextFormulario" /></td>
											<td class="panelTDLeftFormulario"><h:inputText
													id="it_contrasenia" required="true"
													requiredMessage="Contraseña#{comun_mensajes.campo_requerido}"
													value="#{administrarUsuariosBean.contasenia}"
													styleClass="inputTextFormulario"
													title="La contraseña debe ser alfanumérico, contener una letra mayúscula y mínimo 6 caracteres." /></td>
										</tr>

										<tr>
											<td class="panelTDLeftFormulario" colspan="2"><h:outputText
													value="* " styleClass="asteriscoObligatorio" /> <h:outputText
													value=" El asterisco indica que el campo es requerido."
													styleClass="outputTextFormulario" /></td>

										</tr>

										<tr>

											<td class="panelTDBotonFormulario" colspan="2"><p:commandButton
													actionListener="#{administrarUsuariosBean.guardarUsuario}"
													update="growlru,:formUsuarios:usuarios,:formUsuarios:usuariosTable"
													value="Guardar" icon="ui-icon-disk"
													oncomplete="handleLoginRequest(xhr, status, args)" /></td>

										</tr>


									</table>
								</p:panel></td>
						</tr>



					</table>


				</h:panelGrid>


			</h:form>
		</p:dialog>

	</ui:define>

</ui:composition>